第三章 字符串,向量和数组

Huan Lee Lv5

string

  • cin>>str的返回值还是std::cin,若读入eof,则返回值为空,因此有

Untitled

  • 刷题的时候经常遇到,得用一个getchar()把回车先读进来

Untitled

  • string对象的比较规则

Untitled

  • c++新增遍历元素的for,若想改变遍历的对象,采用引用即可

Untitled

vector

  • 初始化时采用(), {}的区别巨大

Untitled

  • 注意下标,不能越界;

Untitled

  • vector可以采用push_back来添加元素

迭代器

  • end指向尾元素的后一个位置,即容器中不存在的尾后元素
  • 迭代器可以进行解运算和加减运算

数组

  • 声明形式为type name[sz],其中sz为constexp,与vector的最大区别是定长
  • 由内向外理解声明

Untitled

  • 数组的取别名

Untitled

  • 不允许使用一个数组初始化另一个数组

  • 数组与指针:一些情况下,数组的操作,实际上就是指针的操作

    • 编译器会把用到数组名字的地方,换成指向数组首元素的指针

    • decltype中用到数组名字时,不会换成指针

    • 指针也是迭代器

    Untitled

    • C++11新增begin和end函数(iterator头文件中),获取数组的首元素指针和尾后指针

    • 指针之间可以进行类似迭代器的加减运算

    • arr[i]等价于*(arr + i)

  • string s.c_str()方法先前的返回值可能会因为字符串s的变化而失效,因此建议备份而不只是用一个指针来记录

  • 多维数组初始化:

Untitled

Untitled

Untitled

  • C++新增范围for语句,可以用来调用多维数组,外层要用引用,避免数组对象被替换为指针

Untitled

  • 也可以使用begin,end函数来实现循环便利

Untitled

  • Title: 第三章 字符串,向量和数组
  • Author: Huan Lee
  • Created at : 2023-08-20 13:03:16
  • Updated at : 2024-02-26 04:53:15
  • Link: https://www.mirthfullee.com/2023/08/20/notion-第三章 字符串,向量和数组-2377ea53/
  • License: This work is licensed under CC BY-NC-SA 4.0.
On this page
第三章 字符串,向量和数组